package MBeans;

import dao.EmpresaDAO;

import javax.annotation.PostConstruct;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;

import javax.faces.model.DataModel;

import javax.faces.model.ListDataModel;

import model.Empresa;

@ManagedBean
@RequestScoped
public class EmpresaMBean {
    public EmpresaMBean() {
    }
    
    private Empresa empresa = new Empresa(); 
    private EmpresaDAO dao = new EmpresaDAO();
    private DataModel empresas;

    public void setEmpresa(Empresa empresa) {
        this.empresa = empresa;
    }

    public Empresa getEmpresa() {
        return empresa;
    }

    public void setEmpresas(DataModel empresas) {
        this.empresas = empresas;
    }

    // Melhor performance nos select e insert... 
   //@PostConstruct
   //public void load(){
   //     empresas = new ListDataModel(dao.findAll());        
   // }

    public DataModel getEmpresas() {
        empresas = new ListDataModel(dao.findAll());
        return empresas;
    }    
    
    public Object prepareInserir(){
        empresa = new Empresa();
        return "cad_empresa";
    }    

    public Object prepareEditar(){
        empresa = (Empresa) empresas.getRowData();
        return "cad_empresa";
    }
    
    public Object prepareExcluir(){
        empresa = (Empresa) empresas.getRowData();
        dao.delete(empresa);
        return "list_empresa";
    }       
 
    public Object gravar(){
        dao.insert(empresa);
        return "list_empresa";
    }
   
}
